অ্যাপাচি নিফাই (Apache NiFi) একাধিক বিল্ট-ইন প্রোসেসর (Processors) প্রদান করে, যা ডেটা প্রবাহকে পরিচালনা এবং প্রক্রিয়া করতে ব্যবহৃত হয়। এই প্রোসেসরগুলি ডেটা সংগ্রহ, ট্রান্সফরমেশন, রাউটিং এবং ডেটা সিস্টেমের মধ্যে আদান-প্রদান করতে সাহায্য করে। নিফাই প্রোসেসরগুলো ব্যবহার করে আপনি সহজে ডেটা ফ্লো তৈরি এবং কাস্টমাইজ করতে পারেন।
এখানে কিছু গুরুত্বপূর্ণ বিল্ট-ইন প্রোসেসরের তালিকা দেওয়া হল:
১. GetFile
GetFile প্রোসেসরটি একটি ডিরেক্টরি থেকে ফাইল সংগ্রহ করতে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট ডিরেক্টরি মনিটর করে এবং নতুন ফাইল সনাক্ত হলে সেগুলি নেয়।
- ব্যবহার: ফাইল সিস্টেম থেকে ডেটা সংগ্রহ করা।
- কনফিগারেশন: আপনি যে ডিরেক্টরি থেকে ফাইল সংগ্রহ করতে চান তা কনফিগার করতে হবে।
এই প্রোসেসরটি একটি ডিরেক্টরি থেকে ফাইল নেবে এবং এগুলি ফ্লোফাইলে রূপান্তর করবে।
২. PutFile
PutFile প্রোসেসরটি একটি ফাইল সিস্টেমে ডেটা লিখতে ব্যবহৃত হয়। এটি ডেটা (ফ্লোফাইল) গন্তব্য ফোল্ডারে লিখে।
- ব্যবহার: ফ্লোফাইল থেকে ডেটা ফাইল সিস্টেমে সেভ করা।
- কনফিগারেশন: আপনি যে ডিরেক্টরিতে ফাইল লিখতে চান তা নির্ধারণ করতে হবে।
এই প্রোসেসরটি ফ্লোফাইলকে নির্দিষ্ট ডিরেক্টরিতে ফাইল হিসেবে সেভ করবে।
৩. LogAttribute
LogAttribute প্রোসেসরটি ফ্লোফাইলের সব অ্যাট্রিবিউট লগ করতে ব্যবহৃত হয়। এটি সাধারণত ডিবাগিং বা ডেটা বিশ্লেষণের জন্য ব্যবহৃত হয়।
- ব্যবহার: ফ্লোফাইলের অ্যাট্রিবিউট লগ করা।
- কনফিগারেশন: আপনি লগ লেভেল (INFO, DEBUG, ERROR) এবং লগ ফরম্যাট কনফিগার করতে পারেন।
এই প্রোসেসরটি ফ্লোফাইলের অ্যাট্রিবিউট এবং অন্যান্য তথ্য লগ ফাইলের মধ্যে রেকর্ড করবে।
৪. PutDatabaseRecord
PutDatabaseRecord প্রোসেসরটি ডেটাবেসে রেকর্ড যুক্ত করতে ব্যবহৃত হয়। এটি ডেটাবেসে রেকর্ড ইনসার্ট, আপডেট বা ডিলিট করতে ব্যবহৃত হয়।
- ব্যবহার: ডেটাবেসে ডেটা ইনসার্ট বা আপডেট করা।
- কনফিগারেশন: ডেটাবেস কানেকশন পুল এবং SQL কুয়েরি কনফিগার করতে হবে।
এই প্রোসেসরটি ফ্লোফাইল থেকে রেকর্ড নিয়ে একটি ডেটাবেস টেবিলে সন্নিবেশ বা আপডেট করবে।
৫. GetHTTP
GetHTTP প্রোসেসরটি HTTP রিকুয়েস্ট তৈরি করে এবং একটি নির্দিষ্ট URL থেকে ডেটা সংগ্রহ করে। এটি সাধারণত ওয়েব সার্ভিস বা REST API থেকে ডেটা ফেচ করতে ব্যবহৃত হয়।
- ব্যবহার: HTTP GET রিকুয়েস্ট ব্যবহার করে ডেটা সংগ্রহ।
- কনফিগারেশন: API এন্ডপয়েন্ট এবং প্রয়োজনীয় হেডার কনফিগার করতে হবে।
এই প্রোসেসরটি HTTP GET রিকুয়েস্ট পাঠিয়ে নির্দিষ্ট URL থেকে ডেটা সংগ্রহ করবে।
৬. PutHTTP
PutHTTP প্রোসেসরটি HTTP PUT রিকুয়েস্ট পাঠানোর জন্য ব্যবহৃত হয়। এটি ডেটা একটি নির্দিষ্ট সার্ভারে আপলোড করতে সাহায্য করে।
- ব্যবহার: HTTP PUT রিকুয়েস্ট ব্যবহার করে ডেটা আপলোড করা।
- কনফিগারেশন: সার্ভারের URL এবং সংযুক্তির জন্য প্রয়োজনীয় হেডার কনফিগার করতে হবে।
এই প্রোসেসরটি একটি HTTP PUT রিকুয়েস্টের মাধ্যমে ডেটা পাঠাবে।
৭. ConvertRecord
ConvertRecord প্রোসেসরটি একটি রেকর্ড ফরম্যাট থেকে অন্য একটি রেকর্ড ফরম্যাটে ডেটা রূপান্তর করতে ব্যবহৃত হয়। এটি সাধারণত JSON থেকে XML অথবা CSV থেকে JSON ফরম্যাটে রূপান্তর করার জন্য ব্যবহৃত হয়।
- ব্যবহার: ডেটা ফরম্যাট রূপান্তর।
- কনফিগারেশন: ইনপুট এবং আউটপুট রেকর্ডের ফরম্যাট কনফিগার করতে হবে।
এই প্রোসেসরটি একটি ডেটা ফরম্যাট থেকে অন্য ফরম্যাটে রূপান্তর করবে, যেমন JSON থেকে CSV।
৮. RouteOnAttribute
RouteOnAttribute প্রোসেসরটি ফ্লোফাইলের অ্যাট্রিবিউটের ভিত্তিতে ডেটা রাউট করতে ব্যবহৃত হয়। এটি ডেটার নির্দিষ্ট গুণাবলী অনুসারে বিভিন্ন রাউটে ডেটা প্রেরণ করতে সাহায্য করে।
- ব্যবহার: অ্যাট্রিবিউটের ভিত্তিতে ডেটা রাউটিং।
- কনফিগারেশন: রাউটিং শর্ত এবং অ্যাট্রিবিউট নির্ধারণ করতে হবে।
এই প্রোসেসরটি একটি নির্দিষ্ট অ্যাট্রিবিউটের ভিত্তিতে ডেটাকে বিভিন্ন রাউটে রিডাইরেক্ট করবে।
৯. ExecuteScript
ExecuteScript প্রোসেসরটি একটি স্ক্রিপ্ট চালাতে ব্যবহৃত হয়। এটি জাভা, জাভাস্ক্রিপ্ট, পাইটন ইত্যাদি স্ক্রিপ্টিং ভাষার মাধ্যমে ডেটা প্রক্রিয়া করতে সক্ষম।
- ব্যবহার: স্ক্রিপ্ট চালানো।
- কনফিগারেশন: স্ক্রিপ্ট কোড এবং প্রয়োজনীয় ভাষা কনফিগার করতে হবে।
এই প্রোসেসরটি স্ক্রিপ্ট রান করে ডেটা প্রোসেসিং অথবা ট্রান্সফরমেশন করতে সাহায্য করবে।
১০. MergeContent
MergeContent প্রোসেসরটি একাধিক ফ্লোফাইলের ডেটা একত্রিত করতে ব্যবহৃত হয়। এটি অনেক ফাইলকে একত্রিত করে একটি ফাইল তৈরি করতে সাহায্য করে।
- ব্যবহার: একাধিক ফাইল মার্জ করা।
- কনফিগারেশন: মার্জিং পদ্ধতি এবং প্যাটার্ন নির্ধারণ করতে হবে।
এই প্রোসেসরটি একাধিক ফ্লোফাইলের ডেটা একত্রিত করে একটি একক ফাইল তৈরি করবে।
সারাংশ
অ্যাপাচি নিফাই এর বিল্ট-ইন প্রোসেসরগুলি ডেটা প্রবাহ, ট্রান্সফরমেশন, রাউটিং এবং বিভিন্ন ডেটা উৎস ও গন্তব্যের মধ্যে ইন্টিগ্রেশন সহজ করে তোলে। প্রতিটি প্রোসেসর নির্দিষ্ট কাজের জন্য তৈরি এবং কাস্টমাইজ করা যায়, যা ডেটার প্রক্রিয়া এবং পরিচালনা প্রক্রিয়াকে আরো সহজ এবং দক্ষ করে তোলে।
Read more